#pragma once

#include<windows.h>
#include <shpa3api.h>
//#include "Device.h"
#include "TinyMsg.h"
#include "SanhuiCardStateDef.h"

using namespace TinyCC::msg;

class CDevice;
namespace DeviceStates{

class CDeviceState
{
public:
	CDeviceState(void);
	virtual ~CDeviceState(void);
	virtual int CardCallBackProc(WORD wEvent, DWORD dwParam) = 0;
	virtual void ProcessReceivedMsg(CTinyMsg &inMsg,CTinyMsg &OutMsg) = 0;
	CDeviceState* changeState( E_DEVICESTATE state);
	CDevice* deviceHandle;
};
}
